package com.prd.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.prd.model.EntMeetSummaryApprove;
import com.prd.model.EntMeetSummaryBudget;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

@Data
@ApiModel(value = "会议预算", description = "会议预算")
public class BudgetVo {

    @ApiModelProperty(value = "会议预算")
    private EntMeetSummaryBudget budget;

    @ApiModelProperty(value = "实际投入")
    private EntMeetSummaryBudget practical;

    @ApiModelProperty(value = "差异")
    private EntMeetSummaryBudget difference;

    @ApiModelProperty(value = "追加预算")
    private EntMeetSummaryBudget addBudget;


    @ApiModelProperty(value = "决议Id")
    private Long id;

    /**
     * 预算申请人
     */
    @ApiModelProperty(value = "预算申请人")
    private String budgetApplication;
    /**
     * 预/决算督导
     */
    @ApiModelProperty(value = "预/决算督导")
    private String budgetCouncilor;

    /**
     * 预算审批人
     */
    @ApiModelProperty(value = "预算审批人")
    private String budgetApprove;
    /**
     * 预算抄送人
     */
    @ApiModelProperty(value = "预算抄送人")
    private String budgetMake;

    /**
     * 预算状态：1：待预/决算督导、2：督导已完成、3：督导不通过、4：审批通过、5：审批不通过
     */
    @ApiModelProperty(value = "预算状态：1：待预/决算督导、2：督导已完成、3：督导不通过、4：审批通过、5：审批不通过")
    private Integer budgetStatus;

    /**
     * 预算误差报告要点
     */
    @ApiModelProperty(value = "预算误差报告要点")
    private String deviationGist;
    /**
     * 预算误差报告文字
     */
    @ApiModelProperty(value = "预算误差报告文字")
    private String deviationContent;

    /**
     * 预算误差报告录音
     */
    @ApiModelProperty(value = "预算误差报告录音")
    private String deviationRecord;
    /**
     * 预算误差报告图片/文档
     */
    @ApiModelProperty(value = "预算误差报告图片/文档")
    private String deviationPicture;
    /**
     * 预算误差报告报告人
     */
    @ApiModelProperty(value = "预算误差报告报告人")
    private String deviationReport;
    /**
     * 预算误差报告联名报告人
     */
    @ApiModelProperty(value = "预算误差报告联名报告人")
    private String deviationJointly;
    /**
     * 预算误差报告时间
     */
    @ApiModelProperty(value = "预算误差报告时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date deviationTime;

    /**
     * 预算审批状态：1：待审批、2：审批通过、3：审批不通过
     */
    @ApiModelProperty(value = "预算审批状态：1：待审批、2：审批通过、3：审批不通过")
    private Integer approveStatus;

    @ApiModelProperty(value = "预决算意见")
    private EntMeetSummaryApprove opinion;

    @ApiModelProperty(value = "审批通过")
    private EntMeetSummaryApprove pass;

    @ApiModelProperty(value = "审批不通过")
    private EntMeetSummaryApprove fail;
}
